Data processing system and method of operation

ABSTRACT

A server-based data processing system ( 10 ) is provided for enabling interaction between users of a massive multi-player role playing game (MMRPG) or similar application in which a virtual environment ( 20 ) is represented geographically as a plurality of cells ( 22 ) arranged in a matrix for example. Game state data relating to the individual cells is broadcast from the server ( 12 ) to respective user-interface apparatus ( 14 ) such as mobile phone devices. Each cell is associated with one channel allowing the user-interface apparatus to receive the channel associated with the cell in which the respective user is represented. The association between cells of the virtual environment and broadcast channels enables the user-interface devices to reject unwanted state data by simply tuning to the desired channel. This is particularly beneficial for low power, low memory devices.

This invention relates to a data processing system for executing amultiple user game or other application in which users interact with oneanother in a cellularised virtual environment, and also video game orinteraction apparatus for use therewith. In particular, the system issuited to games or applications taking place over a wide-area-network(WAN).

Massive multiplayer role playing games (MMRPG) software is readilyavailable on the computer games market and is ever increasing inpopularity. Users load the software onto personal user interface devicessuch as PCs allowing them to interact with other players (who alsopossess similar software) via a WAN and a central server. Such gamescommonly involve a virtual environment in which the players control arespective character moving around the environment interacting withother characters and with the “virtual” surroundings. The central serverserves to communicate with the individual players over the WAN supplyingthem with game state data relating to the present state of the game. Byway of example this may include the location of each character in thevirtual environment, various attributes relating to other characters orvirtual objects possessed by the characters.

The number of players that are involved in the game at any one time is amajor contributory factor to the number and frequency of communicationsrequired between the server and the respective user interface devices ofthese players. This message traffic can be slowed down by low speedterminal connections for example and this effect becomes more apparentto each player as the number of players involved increases thus reducingthe realism and enjoyment of the game for the users.

U.S. Pat. No. 6,025,801 describes a method and system for processing amulti-user software application and whose contents are incorporatedherein by reference. In summary, a virtual environment is composed ofadjacent geographic cells. Game state change is communicated to a userand which state change relates to the cell in which the user resides andto adjacent cells within a specified range.

However, it is not practical to send individual messages to therespective user-interface devices in the case of a MMRPG having a serverwhich broadcasts game state data, or in the case of non-gameapplications.

It is therefore an object of the present invention to provide animproved data processing system for executing a multi-user application.

It is another object of the invention to provide a server-basedmulti-user application system capable of communicating state data via abroadcast WAN.

According to a first aspect of the present invention there is provided adata processing system comprising a server for processing a softwareapplication enabling interaction among multiple users sharing a virtualenvironment represented geographically as a plurality of cells, eachuser being represented at a virtual location in said environment, and aplurality of user-interface apparatus each for receiving state datarelating to said environment from said server via a plurality ofchannels, wherein each cell is associated with one of said channels, andat least one of said user-interface apparatus is operable to receive thechannel associated with the cell in which the respective user'srepresentation is located. By communicating state data over a pluralityof channels on a cell-by-cell basis, the user-interface apparatus cantune to the required channel so as to receive the state data relevant tothe respective user and disregard other, less relevant channels. In thisway, user-interface devices process less data during the applicationthus improving the efficiency of the data processing system and allowingthe users to interact with one another in a more realistic manner. Theassociation between the cells and the channels provides for a wellstructured data transfer method using a plurality of channels broadcastfrom the server.

Advantageously, at least some of the cells may overlap with adjacentcells. This allows a smoother transition in the supply of state data toa user as the user's representation moves from one cell to another.Therefore, when the representation is located in the overlap region oftwo adjacent cells, the respective user-interface apparatus can receivethe channel associated with either one of the two cells. The cells can,by way of example, be arranged in a 2-D row and column matrix formation.To provide overlapping cells in a 2-D virtual environment the cells arepreferably arranged in a first and a second matrix such that a cell inthe first matrix overlies four cells in the second matrix. This allowseach location in the virtual environment to be represented by at leasttwo different cells each offset from one another.

In a system having more cells than available channels, more than one ofthe cells can be associated with one, or more, of the channels.Preferably, the cells are grouped geographically such that all cellsrelating to a particular channel represent one region in the virtualenvironment. This allows a user's representation to move from one cellto another in the group without the need for the respectiveuser-interface to tune to a different channel. Alternatively, it may befound advantageous, depending on the application format and the virtualenvironment being represented, to group the cells in a different way. Byway of example, the cells relating to a given channel may be arranged inan array wherein each cell is spaced from one another. In any sucharrangement, at least one user-interface apparatus may be operable todisregard the remaining cells associated with that channel. Thisbeneficially provides a further efficient way for the user-interfaceapparatus to process the state data received from the server. Havingreceived the channel carrying the state data for the cell in which auser's representation is located, the respective user-interfaceapparatus can further refine the state data of that channel by ignoringthat related to other, currently irrelevant, cells.

According to a second aspect of the present invention there is providedan interactivity apparatus for use with a remote server-based multipleuser application in which the users share a virtual environmentrepresented geographically as a plurality of cells and are eachrepresented at a virtual location in said environment, the apparatusoperable to communicate with the server via a plurality of channels,wherein each cell is associated with one of said channels, and theapparatus further comprises receiving means operable to receive thechannel associated with the cell in which the respective user'srepresentation is located.

According to a third aspect of the present invention there is provided amethod of processing data for a multiple user application in which theusers share a virtual environment represented geographically as aplurality of cells, the method comprising the steps of:

-   -   representing a user at a virtual location in said environment;    -   transmitting a plurality of channels, wherein each cell is        associated with one of said channels and each channel conveys        information relating to its respective associated cells;    -   receiving one of said channels, the received channel associated        with the cell comprising said virtual location.

Advantageously, the method may further comprise the steps of:

-   -   detecting the direction of movement of said user's        representation; and,    -   receiving another one of said channels which is associated with        a neighbouring cell to that cell comprising said virtual        location in accordance with said detected direction. By        predicting the movement of the user's representation, a seamless        supply of state data can be processed by the respective        user-interface apparatus as the representation moves from cell        to cell.

According to a fourth aspect of the present invention there is provideda computer game program for carrying out the above method.

Embodiments of the invention will now be described, by way of exampleonly, with reference to the accompanying drawings, in which:

FIG. 1 shows schematically a data processing system;

FIG. 2 is a schematic representation of a virtual environmentrepresented geographically as a plurality of cells in a firstarrangement;

FIG. 3 is a schematic representation of a virtual environmentrepresented geographically as a plurality of cells in a secondarrangement;

FIG. 4 shows a mobile phone device for use with a remote server-basedmultiple user game; and

FIG. 5 is a flow diagram of a method of processing data for a multipleuser game.

Referring to FIG. 1, a data processing system 10 comprises a server 12and a plurality of user-interface apparatus 14. The server 12 has atransmitter 16 for broadcasting channels. Each user-interface apparatus14 comprises a receiver 18 for receiving the broadcast channels from theserver 12. The channels are broadcast as radio waves, each channelhaving a specified wavelength and bandwidth allowing the user-interfaceapparatus to tune into (thus receive) the desired channel. Thisembodiment has four user-interface devices but it should be appreciatedthat the system may comprise many hundreds. Two-way communication existsbetween the user-interface apparatus and the server. However, only thebroadcast channels from the server are illustrated in FIG. 1 for thesake of explanation of this embodiment.

The operation of the system 10 will now be described with reference alsoto the process steps, 100, 200 and 300 shown in the flow-diagram of FIG.5. The system 10 serves to execute a massive multiplayer role playinggame (MMRPG) in which users interact with one another over a wide areanetwork (WAN). Each respective user-interface apparatus 14 storessimilar software locally to run the game. Interaction between users isenabled by communicating via the server 12.

It will be recognised that systems, methods and apparatus embodying thepresent invention are not restricted to use in game applications: theskilled reader will appreciate that other multi-user interactiveapplications such as internet shared spaces and chat rooms may also befacilitated.

Returning to the game example, the users of a MMRPG share a virtualenvironment represented geographically as a plurality of cells. Onearrangement of such cells is illustrated in FIG. 2. The virtualenvironment 20 of the game is divided into a row and column array of 2-Dcells 22, each cell 22 representing a region of the environment. For thepurposes of this description, each cell 22 shown in FIG. 2 can bedescribed by a 2-digit co-ordinate (A-C, 1-9).

Each user of the system 10 is represented at a virtual location in theenvironment 20 by a character. FIG. 2 shows the respective charactersrepresenting users (a) and (c) located at cell B3, and the characterrepresenting user (b) located at cell A7. As well as the user'srepresentations, the virtual environment 20 supports objects andsurroundings related to the particular MMRPG. A tree 24 is located atcell B6 and a treasure-chest 26 at cell C8 in this example.

Each cell 22 is associated with one of the channels broadcast from theserver 12 such that the channel carries the state data related to theassociated cells from the server to the user-interface apparatus 14. Thecells 22 are arranged into groups, wherein each available channelcarries the state data of a respective group of cells. In this examplethe server 12 broadcasts three channels. Channel I carries the statedata related to the nine cells in columns 1, 2 and 3. Channel II carriesthe state data of the cells in columns 4, 5 and 6, and channel IIIcarries the data from columns 7, 8 and 9.

The user-interface apparatus 14 are operable to receive the channelassociated with the cell 22 in which the respective user's character islocated. For example, the character of user-(a) is located in cell B3 ofthe virtual environment 20 in FIG. 2. The respective user-interfaceapparatus 14 of user-(a) receives the state data related to cell B3 bytuning into channel I which is broadcast by the server 12, i.e. thechannel carrying the state data related to the cells in columns 1, 2 and3. By tuning into this channel in this way, the user-interface apparatus14 simply and efficiently rejects unwanted state data which relates tocells in the virtual environment not affecting user-(a) at that time. Ascan be seen from FIG. 2, the character of user-(c) is also located incell B3 and so the respective user-interface apparatus 14 of user-(c)also tunes into the channel I. Each of users-(a) and -(c) receive statedata related to one another allowing these two users to interact in thegame. The user-interface apparatus of users-(a) and -(c) do not receivestate data related to cells in columns 4 to 9 and thus they do notreceive irrelevant data related to the tree 24 for example (located incell B7) which does not affect users -(a) and -(c).

The user-interface apparatus of user-(a) is operable to disregard theremaining cells associated with channel I. Therefore, cells A1-A3, B1,B2 and C1-C3 are disregarded by the apparatus 14 and the state datarelated to cell B3 is processed having been extracted from that channel.Again, this allows the user-interface apparatus 14 to process a minimalquantity of state data. This is particularly beneficial to low powerdevices such as mobile phones which do not have the ability to processlarge quantities of data.

During the game each user may move their respective character from onecell 22 to another in the virtual environment. With such movement therespective user-interface apparatus 14 must acquire state data relatingto the new cell. Referring again to FIG. 2 and by way of example, themovement of the character of user-(a) from cell B3 to cell B2, asindicated by the dashed arrow V, requires the user-interface apparatusof user-(a) to receive and process state data related to cell B2 whichis carried by the same channel (I). Therefore, the user-interfaceapparatus of user-(a) is not required to tune to a different channel butmay disregard the state data related to cell B3 once the movement iscomplete.

However, if user-(a) moves from cell B3 to B4 instead, as indicated bythe dashed arrow W, the user-interface apparatus of user-(a) must tuneinto channel II in order to receive state data relating to new cell B4.

Transitions from cell to cell may require the respective user-interfaceapparatus 14 to receive state data related to more than one cellsimultaneously so as to provide a seamless processing of such statedata. Also a user may be able to view the virtual environment of aneighbouring cell, or beyond, without actually being represented in thatcell. For example, user-(b) represented at cell A7 should be able toview the tree 24 in cell B6. This requires the user-interface apparatus(b) to receive both channels II and III simultaneously.

FIG. 3 shows an alternative cell arrangement to that shown in FIG. 2.The virtual environment 20 is represented by two overlapping row andcolumn matrices of cells wherein one matrix of cells 32 defined by thesolid lines and described by co-ordinates (A-C,1-3), overlies a secondmatrix of cells 37 defined by dashed lines and described by co-ordinates(D-F, 4-6). The cells in both matrices are of equal size but thematrices are offset from one another such that a cell in the firstmatrix overlies a part of four cells in the second matrix. Therefore,each location in the virtual environment is represented by two differentcells each from the two separate matrices (32, 37).

As with the arrangement of FIG. 2, each cell in FIG. 3 is associatedwith one of the channels. The cells are also grouped in a similarmanner. Cells in column 1 (of the first matrix 32) are associated withchannel I for example. However, cells in column 4 (of the second matrix)are also associated with channel I. Likewise, cells in columns 2 and 5are associated with channel II, and columns 3 and 6 with channel III.Each channel carries state data, related to its associated cells, fromthe server 12 to the user-interface apparatus 14.

A cell arrangement of this type allows smooth transitions in state dataprocessing by the user-interface apparatus as the user's characters movearound the virtual environment 20 from cell to cell. By way of example,the character of user-(d) moves under the control of the respective userin a path through the virtual environment 20 as indicated by arrow Xshown in FIG. 3.

Initially, the character is located completely in cell E4. The cell isrelated to channel I and so user-interface apparatus of user-(d) istuned to receive this channel.

The fact that the character is located partially in both cells C1 and C2(requiring simultaneous tuning to channels I and II in the embodiment ofFIG. 2) does not cause a problem to the user-interface apparatus due tothe double-matrix cell arrangement.

As the character moves from its initial location in the direction ofarrow X, the respective user-interface apparatus detects this directionof movement and, as soon as the representation is completely in cell C2,accordingly tunes to receive channel II instead. Because the regionshared by both cells E4 and C2 is associated by both channels I and II,tuning from one channel to the other, triggered by the sensed directionof travel, provides a seamless supply of state data related to therelevant cells.

In a similar manner to that of user-(d), the respective user-interfaceapparatus for user-(b) is tuned to receive only channel III as thecharacter of user-(b) is located completely in cell A3.

The cells can be arranged in many different ways for both 2-D and 3-Drepresentations of a virtual environment in MMRPGs and variations willbe apparent to persons skilled in the art.

FIG. 4 shows a mobile phone device which serves as user-interfaceapparatus for the data processing system described above. The device 14comprises receiving means 18 in the form of an aerial. A user can viewthe virtual environment of the game being played on the display 42. Therepresentation of the user can be controlled and various otherinstructions related to the game by operation of the key-pad 44.

In summary, the aforementioned describes a server-based data processingsystem for enabling interaction between users of a MMRPG or similarapplication in which a virtual environment is represented geographicallyas a plurality of cells arranged in a matrix for example. Game statedata relating to the individual cells is broadcast from the server torespective user-interface apparatus such as mobile phone devices. Eachcell is associated with one channel allowing the user-interfaceapparatus to receive the channel associated with the cell in which therespective user is represented. The association between cells of thevirtual environment and broadcast channels enables the user-interfacedevices to reject unwanted state data by simply tuning to the desiredchannel. This is particularly beneficial for low power, low memorydevices.

From the present disclosure, many other modifications and variationswill be apparent to persons skilled in the art. Such modifications andvariations may involve other features which are already known in the artand which may be used instead of or in addition to features alreadydisclosed herein.

1. A data processing system 10 comprising a server 12 for processing asoftware application enabling interaction among multiple users sharing avirtual environment 20 represented geographically as a plurality ofcells 22, each user being represented at a virtual location in saidenvironment, and a plurality of user-interface apparatus 14 each forreceiving state data relating to said environment from said server via aplurality of channels, wherein each cell 22 is associated with one ofsaid channels, and at least one of said user-interface apparatus 14 isoperable to tune to one of said channels so as to receive the channelassociated with the cell in which the respective users representation islocated.
 2. A system according to claim 1, wherein at least some of saidcells overlap with adjacent cells.
 3. A system according to claim 1 or2, wherein said cells are arranged in a 2-D row and column matrixformation.
 4. A system according to claim 3, wherein said cells arearranged in a first and a second matrix 32,37 such that a cell in thefirst matrix overlies four cells in the second matrix.
 5. A systemaccording to any preceding claim, wherein more than one of said cells 22are associated with one of said channels.
 6. A system according to claim5, wherein said at least one user-interface apparatus is operable todisregard the remaining cells associated with that channel. 7.Interactivity apparatus 14 for use with a remote server-based multipleuser application in which the users share a virtual environment 20represented geographically as a plurality of cells 22 and are eachrepresented at a virtual location in said environment, the apparatusoperable to communicate with the server via a plurality of channels,wherein each cell is associated with one of said channels, and theapparatus further comprises receiving means 18 operable to tune to oneof said channels so as to receive the channel associated with the cellin which the respective user's representation is located.
 8. A mobilephone device comprising the apparatus of claim
 7. 9. A method ofprocessing data for a multiple user application in which the users sharea virtual environment 20 represented geographically as a plurality ofcells 22, the method comprising the steps of: representing a user at avirtual location in said environment; transmitting a plurality ofchannels, wherein each cell is associated with one of said channels andeach channel conveys information relating to its respective associatedcells; and, tuning to one of said channels so as to receive the channelassociated with the cell comprising said virtual location.
 10. A methodaccording to claim 9 further comprising the steps of: detecting thedirection of movement of said user's representation; and, receivinganother one of said channels which is associated with a neighbouringcell to that cell comprising said virtual location in accordance withsaid detected direction.
 11. A computer program for carrying out themethod of claim 9 or claim 10.